/*
 * @Author: zt 2993721164@qq.com
 * @Date: 2025-07-31 13:00:10
 * @LastEditors: zt 2993721164@qq.com
 * @LastEditTime: 2025-08-06 22:07:40
 * @FilePath: /yyshort/lib/pages/application/view.dart
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import 'package:flutter/material.dart';
import 'package:yyshort/common/routers/routes.dart';
import 'package:yyshort/common/values/values.dart';
import 'package:yyshort/pages/ali_player/short_video/short_video/controller.dart';
import 'package:yyshort/pages/ali_player/short_video/short_video/view.dart';
import 'package:yyshort/pages/ali_player/short_video/short_video_page.dart';
import 'package:yyshort/pages/personal/personal/controller.dart';
import 'package:yyshort/pages/personal/personal/view.dart';
import 'package:yyshort/pages/home/index.dart';

import 'package:get/get.dart';

// import '../ali_player/short_video/short_video_page/index.dart';
import 'index.dart';

class ApplicationPage extends GetView<ApplicationController> {
  const ApplicationPage({Key? key}) : super(key: key);

  // 内容页
  Widget _buildPageView() {
    Get.lazyPut(() => PersonalController());

    return PageView(
      physics: NeverScrollableScrollPhysics(),
      controller: controller.pageController,

      onPageChanged: (index) {
        if (index == 1) {
          final shortVideoController = Get.isRegistered<ShortVideoController>()
              ? Get.find<ShortVideoController>()
              : null;
          shortVideoController?.pauseAllVideos();
        }
        controller.handlePageChanged(index);
      },
      children: <Widget>[
        // WelcomePage(),
        // MainPage(),
        // CategoryPage(),
        HomePage(),
        // GetBuilder<ShortVideoController>(
        //   init: Get.put(ShortVideoController(isforyouPage: true)), // 一句话完成注册+初始化
        //   builder: (controller) => ShortVideoPageView(),
        // ),
        ShortVideoPage(isforyouPage: true),

        PersonalPage(),
      ],
    );
  }

  // 底部导航
  Widget _buildBottomNavigationBar() {
    print("controller = $controller");

    return Obx(
      () => BottomNavigationBar(
        items: initBottomTabs(),
        currentIndex: controller.state.page,
        // fixedColor: AppColors.primaryElement,
        type: BottomNavigationBarType.fixed,
        onTap: controller.handleNavBarTap,
        showSelectedLabels: true,
        showUnselectedLabels: true,

        selectedItemColor: AppColors.secondaryElementText, // 选中标签颜色
        unselectedItemColor: AppColors.tabBarElement, // 未选中标签颜色
        // // 选中状态标签样式
        // selectedLabelStyle: TextStyle(
        //   fontSize: 12, // 字体大小
        //   fontWeight: FontWeight.bold, // 加粗
        //   color: AppColors.secondaryElementText, // 选中颜色
        // ),

        // // 未选中状态标签样式
        // unselectedLabelStyle: TextStyle(
        //   fontSize: 12,
        //   color: AppColors.tabBarElement, // 未选中颜色
        // ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: _buildPageView(),
      bottomNavigationBar: _buildBottomNavigationBar(),
    );
  }

  /// 初始化底部导航栏
  List<BottomNavigationBarItem> initBottomTabs() {
    return <BottomNavigationBarItem>[
      BottomNavigationBarItem(
        // 未选中状态的图片
        icon: Image.asset(
          'assets/images/home_g.png', // 本地未选中状态图片路径
          width: 24, // 图片宽度
          height: 24, // 图片高度
        ),
        // 选中状态的图片
        activeIcon: Image.asset(
          'assets/images/home_y.png', // 本地选中状态图片路径
          width: 24,
          height: 24,
        ),
        label: '主页'.tr,
      ),

      BottomNavigationBarItem(
        // 未选中状态的图片
        icon: Image.asset(
          'assets/images/foryou_g.png', // 本地未选中状态图片路径
          width: 24, // 图片宽度
          height: 24, // 图片高度
        ),
        // 选中状态的图片
        activeIcon: Image.asset(
          'assets/images/foryou_y.png', // 本地选中状态图片路径
          width: 24,
          height: 24,
        ),
        label: '推荐'.tr,
      ),

      BottomNavigationBarItem(
        // 未选中状态的图片
        icon: Image.asset(
          'assets/images/personal_g.png', // 本地未选中状态图片路径
          width: 24, // 图片宽度
          height: 24, // 图片高度
        ),
        // 选中状态的图片
        activeIcon: Image.asset(
          'assets/images/personal_y.png', // 本地选中状态图片路径
          width: 24,
          height: 24,
        ),
        label: '我'.tr,
      ),
    ];
  }
}
